home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / games / 65 / pascal / dfree.pas < prev    next >
Pascal/Delphi Source File  |  1986-10-16  |  1KB  |  47 lines

  1. Program test;
  2.  
  3. TYPE
  4.  
  5.    FreeRec = Packed RECORD
  6.         FreeCl : Long_Integer;  { # of free clusters }
  7.         NumCl  : Long_Integer;  { total # of clusters on disk }
  8.         SecSiz : Long_Integer;  { Sector size in bytes }
  9.         CluSiz : Long_Integer;  { number of sectors per cluster }
  10.         END;
  11.  
  12.    FreePtr = ^FreeRec;          { pointer to free record }
  13.  
  14. VAR
  15.  
  16.    space : Long_Integer;
  17.  
  18.  
  19. Procedure Dfree( VAR rec : FreeRec;  drive : Integer ) ;
  20.    GEMDOS( $36 );
  21.  
  22.  
  23. Function Free( drive : integer ) : Long_integer;
  24.                                  { drive 1-16 for A - P, 0 for current}
  25.  
  26. VAR
  27.  
  28.    FreeInf : FreeRec;           { what dfree returns }
  29.  
  30.  
  31.    BEGIN
  32.  
  33.         Dfree( FreeInf, 1 );    { get info into freeinf }
  34.  
  35.         WITH FreeInf DO
  36.            BEGIN
  37.                 Free := FreeCL * ( SecSiz * CluSiz );
  38.            END;
  39.    END;
  40.  
  41.  
  42. begin
  43.         space := Free( 1 );     { get free space on drive A }
  44.  
  45.         writeln( 'Free space = ', space );
  46. end.
  47.